精通Linux系列三十一:日期和时间
点击关注公众号,AI&编程干货及时送达
日期和时间
命令 | 函数 |
cal | 打印一个日历。 |
date | 打印或设置日期和时间。 |
ntpdate | 使用远程时间服务器设置系统时间。 |
需要一个日期吗?想要一个好时光吗?试试这些程序,以显示和设置您系统上的日期和时间。
cal
stdin stdout - 文件 -- 选项 --帮助 --版本
cal [选项] [月 [年]]
cal
命令默认情况下打印日历——当前的月份:
→ cal
2015年11月
日 一 二 三 四 五 六
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
要打印其他日历,提供一个月份和四位数的年份:cal 8 2016
。如果你省略了月份(cal 2016
),则会打印整个年份。
有用的选项
-y | 打印当前年份的日历。 |
-3 | 三个月的视图:同时打印上个月和下个月。 |
-j | 按照年内位置编号每一天;在我们的示例中,2月1日将显示为32,2月2日显示为33,依此类推。 |
date
stdin stdout - 文件 -- 选项 --帮助 --版本
date [选项] [格式]
date
命令打印日期和时间。结果将取决于您系统的地域设置(针对您的国家和语言)。在此部分,我们假设一个基于美国的英语地域。
默认情况下,date
在当地时区打印系统日期和时间:
→ date
2016年3月18日 星期五 22:32:04 EDT
通过提供以加号开头的格式字符串,您可以以不同方式格式化输出:
→ date '+%D'
03/18/16
→ date '+现在是 %l:%M %p 在美好的 %A 于 %B'
现在是 10:32 PM 在美好的星期五 于三月
以下是date
命令的许多格式的一些示例:
格式 | 含义 | 示例(美国英语) |
完整日期和时间: | ||
%c | 完整的日期和时间,12小时制 | 2003年9月28日,下午09:01:25 EDT |
%D | 数字日期,2位数年 | 09/28/03 |
%x | 数字日期,4位数年 | 09/28/2003 |
%T | 时间,24小时制 | 21:01:25 |
%X | 时间,12小时制 | 09:01:25 PM |
词汇: | ||
%a | 星期的缩写 | 周日 |
%A | 星期的全称 | 星期日 |
%b | 月份的缩写 | 9月 |
%B | 月份的全称 | 九月 |
%Z | 时区 | EDT |
%p | AM或PM | PM |
数字: | ||
%w | 星期几 (0–6, 0=周日) | 0 |
%u | 星期几 (1–7, 1=周一) | 7 |
%d | 月份的第几天,前导零 | 02 |
%e | 月份的第几天,前导空格 | 2 |
%j | 一年的第几天,前导零 | 005 |
%m | 月份数字,前导零 | 09 |
%y | 年份,2位数字 | 03 |
%Y | 年份,4位数字 | 2003 |
%M | 分钟,前导零 | 09 |
%S | 秒,前导零 | 05 |
%l | 12小时制的小时数,前导空格 | 9 |
%I | 12小时制的小时数,前导零 | 09 |
%k | 24小时制的小时数,前导空格 | 9 |
%H | 24小时制的小时数,前导零 | 09 |
%N | 纳秒 | 737418000 |
%s | 从Linux时间开始的秒数:1970年1月1日午夜(date(原文)) | 1068583983 |
其他: | ||
%n | 换行符 | |
%t | 制表符 | |
%% | 百分号 | % |
通过它的选项,date
也可以显示其他日期和时间。
有用的选项
-d string | 显示给定的日期或时间*string *,按照您希望的格式显示。 |
-r filename | 显示给定文件的最后修改时间戳,按您希望的格式显示。 |
-s string | 设置系统日期和/或时间为*string *; 只有超级用户可以这么做。 |
ntpdate
stdin stdout - file -- opt --帮助(help) --版本(version)*
ntpdate 时间服务器(timeserver)
ntpdate
命令通过联系网络上的时间服务器(timeserver)来设置当前系统时间(您必须是root用户才能设置系统时间):
→ sudo /usr/sbin/ntpdate timeserver.someplace.edu
7 Sep 21:01:25 ntpdate[2399]: step time server
178.99.1.8
offset 0.51 sec
要使您的系统日期与时间服务器长时间保持同步,请使用守护程序ntpd
;请参见http://www.ntp.org。如果您不知道本地时间服务器,请在Web上搜索“公共ntp时间服务器”。
推荐阅读
你好,我是拾叁,7年开发老司机、互联网两年外企5年。怼得过阿三老美,也被PR comments搞崩溃过。这些年我打过工,创过业,接过私活,也混过upwork。赚过钱也亏过钱。一路过来,给我最深的感受就是不管学什么,一定要不断学习。只要你能坚持下来,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯和编程知识,帮你积累弯道超车的资本。